<template>
    <div class="header">
        <div class="nav-topbar">
            <div class="container">
                <div class="topbar-menu">
                    <a href="javascript:;">爱购商城</a>
                    <a href="javascript:;">loveshop</a>
                    <a href="javascript:;">精美</a>
                    <a href="javascript:;">便宜</a>
                </div>
                <div class="topbar-user">
                    <a href="javascript:;" v-if="username">{{username}}</a>
                    <a href="javascript:;" v-if="!username" @click="login">登录</a>
                    <a href="javascript:;" v-if="username" @click="logout">退出</a>
                    <a href="/#/order/list" v-if="username">我的订单</a>
                    <a href="javascript:;" class="my-cart" @click="goToCart"><span class="icon-cart"></span>购物车({{cartCount}})</a>
                </div>
            </div>
        </div>
        <div class="nav-header">
            <div class="container">
                <div class="header-logo">
                    <a href="/#/index"></a>
                </div>
                <div class="header-menu">
                    <div class="item-menu">
                        <span>爱购超市</span>
                        <div class="children">
                            <ul>
                                <li class="product">
                                    <a href="" target="_blank">
                                        <div class="pro-img">
                                            <img v-lazy="'/imgs/index/index-top-1.jpg'" alt="">
                                        </div>
                                        <div class="pro-name">法国Avene雅漾大喷300ml</div>
                                        <div class="pro-price">59元</div>
                                    </a>
                                </li>
                                <li class="product">
                                    <a href="" target="_blank">
                                        <div class="pro-img">
                                            <img v-lazy="'/imgs/index/index-top-2.jpg'" alt="">
                                        </div>
                                        <div class="pro-name">Dr.jart+控油素颜霜50ml</div>
                                        <div class="pro-price">119元</div>
                                    </a>
                                </li>
                                <li class="product">
                                    <a href="" target="_blank">
                                        <div class="pro-img">
                                            <img v-lazy="'/imgs/index/index-top-3.jpg'" alt="">
                                        </div>
                                        <div class="pro-name">资生堂(SHISEIDO) 安热沙</div>
                                        <div class="pro-price">76元</div>
                                    </a>
                                </li>


                                <li class="product">
                                    <a href="" target="_blank">
                                        <div class="pro-img">
                                            <img v-lazy="'/imgs/index/index-top-1.jpg'" alt="">
                                        </div>
                                        <div class="pro-name">法国Avene雅漾大喷300ml</div>
                                        <div class="pro-price">59元</div>
                                    </a>
                                </li>
                                <li class="product">
                                    <a href="" target="_blank">
                                        <div class="pro-img">
                                            <img v-lazy="'/imgs/index/index-top-2.jpg'" alt="">
                                        </div>
                                        <div class="pro-name">Dr.jart+控油素颜霜50ml</div>
                                        <div class="pro-price">119元</div>
                                    </a>
                                </li>


                                <li class="product">
                                    <a href="" target="_blank">
                                        <div class="pro-img">
                                            <img v-lazy="'/imgs/index/index-top-3.jpg'" alt="">
                                        </div>
                                        <div class="pro-name">查看全部</div>
                                        <div class="pro-price">查看全部</div>
                                    </a>
                                </li>
                            </ul>
                        </div>
                    </div>
                    <div class="item-menu">
                        <span>爱购国际</span>
                        <!--<div class="children">-->
                        <!--<ul>-->
                        <!--<li class="product" v-for="(item,index) in phoneList" :key="index">-->
                        <!--<a v-bind:href="'/#/product/'+item.id" target="_blank">-->
                        <!--<div class="pro-img">-->
                        <!--<img v-lazy="item.mainImage" :alt="item.subtitle">-->
                        <!--</div>-->
                        <!--<div class="pro-name">{{item.name}}</div>-->
                        <!--<div class="pro-price">{{item.price | currency}}</div>-->
                        <!--</a>-->
                        <!--</li>-->
                        <!--</ul>-->
                        <!--</div>-->
                    </div>
                    <div class="item-menu">
                        <span>爱购会员</span>
                    </div>
                </div>
                <div class="header-search">
                    <div class="wrapper">
                        <input  type="text" v-model="keyword">
                        <a href="javascript:;" @click="search"></a>
                    </div>
                </div>
            </div>
        </div>
    </div>
</template>
<script>
    import {mapState} from 'vuex'

    export default {
        name: 'nav-header',
        props: ['keyword'],
        data() {
            return {
                cartCount:0,
                //keyword: null,
                phoneList: []
            }
        },
        computed: {
            username() {
                return this.$store.state.username;
            },
            /*username(){
              return this.$store.state.username;
            },
            cartCount(){
              return this.$store.state.cartCount;
            }*/
            ...mapState(['username', 'cartCount'])
        },
        filters: {
            currency(val) {
                if (!val) return '0.00';
                return '￥' + val.toFixed(2) + '元';
            }
        },
        mounted() {
            // this.getProductList();
            if (JSON.parse(this.$cookie.get("userInfo")).id!=null) {
               this.getCartCount()
            }
            let params = this.$route.params;
            if (params && params.from == 'login') {
                this.getCartCount();
            }
        },
        methods: {
            search() {
                if (this.keyword!=null) {
                    this.$store.dispatch('saveKeyWord', this.keyword);
                    this.$router.push(`/search/${this.keyword}`);
                }
            },
            login() {
                this.$router.push('/login');
            },
            // getProductList(){
            //   this.axios.get('/products',{
            //     params:{
            //       categoryId:'100012',
            //       pageSize:6
            //     }
            //   }).then((res)=>{
            //     this.phoneList = res.list;
            //   })
            // },
            getCartCount() {
                this.axios.get('/carts/products/'+JSON.parse(this.$cookie.get("userInfo")).id).then(res => {
                    this.cartCount=res;
                    this.$store.dispatch('saveCartCount', res);
                })
            },
            logout() {
                this.axios.post('/user/logout').then(() => {
                    this.$message.success('退出成功');

                    // this.$cookie.set('userInfo','',{expires:'session'});  cookie过期时间和session过期时间一致
                    this.$cookie.set('userInfo', '', {expires: '-1'});
                    this.$store.dispatch('saveUserName', '');
                    this.$store.dispatch('saveCartCount', '0');
                })
            },
            goToCart() {
                this.$router.push('/cart');
            }
        }
    }
</script>
<style lang="scss">
    @import './../assets/scss/base.scss';
    @import './../assets/scss/mixin.scss';
    @import './../assets/scss/config.scss';

    .header {
        .nav-topbar {
            height: 39px;
            line-height: 39px;
            background-color: #f2f2f2;
            color: #B0B0B0;
            .container {
                @include flex();
                a {
                    display: inline-block;
                    color: #B0B0B0;
                    margin-right: 17px;
                }
                .my-cart {
                    width: 110px;
                    background-color: #ed155b;
                    text-align: center;
                    color: #ffffff;
                    margin-right: 0;
                    .icon-cart {
                        @include bgImg(16px, 12px, '/imgs/icon-cart-checked.png');
                        margin-right: 4px;
                    }
                }
            }
        }
        .nav-header {
            .container {
                position: relative;
                height: 112px;
                @include flex();
                .header-menu {
                    display: inline-block;
                    width: 643px;
                    padding-left: 209px;
                    .item-menu {
                        display: inline-block;
                        color: #333333;
                        font-weight: bold;
                        font-size: 16px;
                        line-height: 112px;
                        margin-right: 20px;
                        span {
                            cursor: pointer;
                        }
                        &:hover {
                            color: $colorA;
                            .children {
                                height: 220px;
                                opacity: 1;
                            }
                        }
                        .children {
                            position: absolute;
                            top: 112px;
                            left: 0;
                            width: 1226px;
                            height: 0;
                            opacity: 0;
                            overflow: hidden;
                            border-top: 1px solid #E5E5E5;
                            box-shadow: 0px 7px 6px 0px rgba(0, 0, 0, 0.11);
                            z-index: 10;
                            transition: all .5s;
                            background-color: #ffffff;
                            .product {
                                position: relative;
                                float: left;
                                width: 16.6%;
                                height: 220px;
                                font-size: 12px;
                                line-height: 12px;
                                text-align: center;
                                a {
                                    display: inline-block;
                                }
                                img {
                                    width: auto;
                                    height: 111px;
                                    margin-top: 26px;
                                }
                                .pro-img {
                                    height: 137px;
                                }
                                .pro-name {
                                    font-weight: bold;
                                    margin-top: 19px;
                                    margin-bottom: 8px;
                                    color: $colorB;
                                }
                                .pro-price {
                                    color: $colorA;
                                }
                                &:before {
                                    content: ' ';
                                    position: absolute;
                                    top: 28px;
                                    right: 0;
                                    border-left: 1px solid $colorF;
                                    height: 100px;
                                    width: 1px;
                                }
                                &:last-child:before {
                                    display: none;
                                }
                            }
                        }
                    }
                }
                .header-search {
                    width: 319px;
                    .wrapper {
                        height: 50px;
                        border: 1px solid #E0E0E0;
                        display: flex;
                        align-items: center;
                        input {
                            border: none;
                            box-sizing: border-box;
                            border-right: 1px solid #E0E0E0;
                            width: 264px;
                            height: 50px;
                            padding-left: 14px;
                        }
                        a {
                            @include bgImg(18px, 18px, '/imgs/icon-search.png');
                            margin-left: 17px;
                        }
                    }
                }
            }
        }
    }
</style>